/******************************************************************
 *
 *    Java Lib For Android, Powered By Shenzhen Jiuzhou.
 *
 *    Copyright (c) 2001-2014 Digital Telemedia Co.,Ltd
 *    http://www.d-telemedia.com/
 *
 *    Package:     com.juran.core.utils.zxing
 *
 *    Filename:    ZxingUtil.java
 *
 *    Description: TODO(用一句话描述该文件做什么)
 *
 *    Copyright:   Copyright (c) 2001-2014
 *
 *    Company:     Digital Telemedia Co.,Ltd
 *
 *    @author:     liaojialin
 *
 *    @version:    1.0.0
 *
 *    Create at:   2017年5月31日 上午11:30:11
 *
 *    Revision:
 *
 *    2017年5月31日 上午11:30:11
 *        - first revision
 *
 *****************************************************************/
package com.qixin.util.zxing;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

import java.io.FileOutputStream;

/**
 * @ClassName ZxingUtil
 * @Description TODO(这里用一句话描述这个类的作用)
 * @author liaojialin
 * @Date 2017年5月31日 上午11:30:11
 * @version 1.0.0
 */
public class ZxingUtil {

    public static void encode(String contents, int width, int height, String imgPath) {
        int codeWidth = 3 + // start guard  
                (7 * 6) + // left bars  
                5 + // middle guard  
                (7 * 6) + // right bars  
                3; // end guard  
        codeWidth = Math.max(codeWidth, width);
        try {
            BitMatrix bitMatrix = new MultiFormatWriter().encode(contents,
                    BarcodeFormat.CODE_128, codeWidth, height, null);

            MatrixToImageWriter.writeToStream(bitMatrix, "png",
                    new FileOutputStream(imgPath));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
